package org.example.campusforum.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 文章发布请求数据传输对象
 *
 * 用于接收前端发送的文章发布请求参数，包含文章的基本信息。
 * 用户ID将从JWT令牌中自动获取，无需在此DTO中传递。
 *
 * @author CampusForum Team
 * @version 1.0
 * @since 2024
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ArticlePublish {

    /**
     * 文章标题
     * 用户输入的文章标题，必填字段
     */
    private String title;

    /**
     * 文章内容
     * 用户输入的文章正文内容，支持富文本格式，必填字段
     */
    private String content;

    /**
     * 文章分类ID
     * 用户选择的文章分类，必须是有效的分类ID
     */
    private Long categoryId;
}
